package com.gitee.ywj1352.算法.week01;

/**
 * 给定一个排序数组，你需要在 原地 删除重复出现的元素，使得每个元素只出现一次，返回移除后数组的新长度。
 *
 * 不要使用额外的数组空间，你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。
 *
 * 链接：https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array
 *
 *
 */
public class RemoveDuplicates {


    // 使用快慢指针
    // 快指针 找 不同
    // 慢指针 是为了 记录不同
    public static int removeDuplicates(int[] nums) {
        int left ,right , count = 0;
        for (int i = 1; i < nums.length; i++) {
            left = nums[count];
            right= nums[i];
            if (left != right){
                count ++;
                // 慢指针 后一位 改为快指针找到的 不同 数
                nums[count] = nums[i];
            }
        }
        return count +1;
    }

    public static void main(String[] args) {
        int[] arr = {0};
        int i = removeDuplicates(arr);
        System.out.println(i);
    }
}
